//package com.wangyadong.hobby.thread.miscellaneous;
//
//import java.util.ArrayList;
//import java.util.concurrent.TimeUnit;
//import java.util.stream.IntStream;
//
///**
// * <p>
// *
// * @author <714037465@qq.com>
// * @since 2019/7/219:35
// **/
//public class TestOverride implements Runnable {
//    static class TestOverrideGroup extends ThreadGroup {
//        public TestOverrideGroup() {
//            super("Administratoe Alert Group");
//        }
//    }
//
//
//    public void uncauthExeception(Thread t, Throwable e) {
//        alertAdministrator(e);
//    }
//
//    public static void alertAdministrator(Throwable e) {
//        System.out.println("Adminstrator alert!");
//        e.printStackTrace();
//    }
//
//    @Override
//    public void run() {
//        ArrayList<Object> objects = new ArrayList<>();
//        while (true) {
//            objects.add(new byte[1024]);
//        }
//    }
//
//    public static void testThreadClassLoad() {
//        Thread thread = new Thread(new Runnable() {
//            @Override
//            public void run() {
//                IntStream.range(0, 10).forEach(System.out::println);
//                int h = 0;
//                int j = 9;
//                System.out.println(h / j);
//            }
//        });
//        ClassLoader contextClassLoader = thread.getContextClassLoader();
//        System.out.println(contextClassLoader);
//        System.out.println(contextClassLoader.getParent());
//        System.out.println(contextClassLoader.getParent().getParent());
//        ClassLoader classLoader = TestOverride.class.getClassLoader();
//        System.out.println("class-->" + classLoader);
//        System.out.println("class-->" + classLoader.getParent());
//        System.out.println("class-->" + classLoader.getParent().getParent());
//
//        System.out.println(thread.countStackFrames());
//        thread.dumpStack();
//
//    }
//
//    public static void testDefaultUncautch() {
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                try {
//                    TimeUnit.SECONDS.sleep(500000);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//                System.out.println("1/0" + (1 / 0));
//            }
//        }).start();
//        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
//            @Override
//            public void uncaughtException(Thread t, Throwable e) {
//                System.out.println("=======================================就打印这一句话");
//            }
//        });
//
//
//    }
//
//    public static void main(String[] args) {
////        ThreadGroup group = new TestOverrideGroup();
////        Thread thread = new Thread(group, new TestOverride());
////        thread.start();
////        Thread.setDefaultUncaughtExceptionHandler();
//
////        testDefaultUncautch();
//        testThreadClassLoad();
//    }
//}
